
QL_ERROR_DEF(QL_NOERR, "operation completed successfully")

QL_ERROR_DEF(QL_ERR_INVALID_ARGUMENTS, "there were one or more invalid arguments")

/* generic failure result */
QL_ERROR_DEF(QL_ERR_FAIL, "generic failure")

/* error, that specifies an implementation issue */
QL_ERROR_DEF(QL_ERR_RUNTIME_ERROR, "runtime error")

/* reader-specific errors */
QL_ERROR_DEF(QL_ERR_UNKNOWN_SYMBOL, "unknown symbol encountered")
QL_ERROR_DEF(QL_ERR_UNMATCHED_OPEN_BRACE, "unmatched open brace")
QL_ERROR_DEF(QL_ERR_UNMATCHED_CLOSE_BRACE, "unmatched close brace")
QL_ERROR_DEF(QL_ERR_NON_TERMINATED_STRING, "non-terminated string")
QL_ERROR_DEF(QL_ERR_MALFORMED_TOKEN, "malformed token")

/* evaluator-specific errors */
QL_ERROR_DEF(QL_ERR_FIRST_TOKEN_ISNT_FUNCTION, "first token is not a function")
QL_ERROR_DEF(QL_ERR_VARIABLE_HAS_NO_VALUE, "variable has no value")

/* silently stops evaluator without notifying the user, this is not an error,
 * used internally */
QL_ERROR_DEF(QL_ERR_INTERNAL_STOP, "internal stop")

/* wrong configuration which makes certain operation impossible */
QL_ERROR_DEF(QL_ERR_WRONG_CONF, "wrong configuration")
